<?php

function index() {
    global $contenido; //Globas es lo mismo que this-> *sin signo $.

    $dbc = conectarBD();
    $resultado = pg_query($dbc, "SELECT * FROM evento_index;");
    if (!$resultado) {

        $contenido["error"] = "No se ha podido contactar a la base de datos.";
    } else {
        $contenido["eventos"] = pg_fetch_all($resultado);
    }
    pg_close($dbc);
}

function view() {
    global $contenido;

    $dbc = conectarBD();
    $evento_nombre = @$_GET["evento_nombre"];
    $evento_fecha = @$_GET["evento_fecha"];
    if (!$evento_nombre || !$evento_fecha) {
        $contenido["error"] = "Debe especificar el nombre del evento y la fecha a realizarce.";
    } else {
        $resultado = pg_query($dbc, "SELECT * FROM evento WHERE evento_nombre = '" . $evento_nombre . "' AND evento_fecha ='" . $evento_fecha . "';");
        $resultadoArray = pg_fetch_all($resultado);
        if (!$resultado || count($resultadoArray) == 0) {
            $contenido["error"] = "No se ha encontrado un evento con los datos indicados.";
        } else {
            $contenido["evento"] = $resultadoArray[0];
        }
    }
    pg_close($dbc);
}

function create() {
    Response::$view = "form";
}

function edit() {
    global $contenido;
    view();
    Response::$view = "form";
}

function persist() {
    global $contenido;
    $_GET["evento_nombre"] = $_POST["evento_nombre"];
    $_GET["evento_fecha"] = $_POST["evento_fecha"];
    view();

    $dbc = conectarBD();
    if (!array_key_exists("evento", $contenido)) {
        $consulta = "INSERT INTO evento VALUES(" . $_POST["evento_nombre"] . "," . $_POST["evento_fecha"] . "," . $_POST["cupos"] . "," . $_POST["pais"] . "," . $_POST["ciudad"] . "," . $_POST["lugar"] . "," . $_POST["tipo"] . "," . $_POST["descripcion"] . ", " . $_POST["reglas"] . ");";
        pg_prepare($dbc, "persist_query", "INSERT INTO evento VALUES($1,$2,$3,$4,$5,$6,$7,$8,$9)");
    } else {
        $consulta = "UPDATE evento SET cupos=" . $_POST["cupos"] . ",pais=" . $_POST["pais"] . ",ciudad=" . $_POST["ciudad"] . ",lugar=" . $_POST["lugar"] . ",tipo=" . $_POST["tipo"] . ", descripcion=" . $_POST["descripcion"] . ", reglas=" . $_POST["reglas"] . " WHERE evento_nombre=" . $_POST["evento_nombre"] . " AND evento_fecha=" . $_POST["evento_fecha"] . ";";
        pg_prepare($dbc, "persist_query", "UPDATE evento SET cupos=$3,pais=$4,ciudad=$5,lugar=$6,tipo=$7, descripcion=$8, reglas=$9 WHERE evento_nombre=$1 AND evento_fecha=$2");
    }
    $resultado = pg_execute($dbc, "persist_query", $_POST);
    pg_close($dbc);
    if (!$resultado || $resultado == 0) {
        $contenido["error"] = "No se ha podido guardar el evento.";
    } else {
        $contenido = array();
        $contenido["exito"] = "Los datos del evento se han guardado exitosamente.";
        $log = guardarEnLog($consulta);
    }

    index();
    Response::$view = "index";
}

function delete() {
    global $contenido;

    $dbc = conectarBD();
    $evento_nombre = @$_GET["evento_nombre"];
    $evento_fecha = @$_GET["evento_fechaS"];
    if (!$evento_nombre || !$evento_fecha) {
        $contenido["error"] = "Debe especificar el nombre del evento y la fecha a realizarce.";
    } else {
        $consulta = "DELETE FROM evento WHERE evento_nombre = '" . $evento_nombre . "' AND evento_fecha ='" . $evento_fecha . ";";
        $resultado = pg_query($dbc, $consulta);
        if (!$resultado || pg_affected_rows($resultado) == 0) {
            $contenido["error"] = "No se ha encontrado un cliente con el número de documento indicado.";
        } else {
            $contenido["alerta"] = "Se ha eliminado correctamente el evento especificado.";
            $log = guardarEnLog($consulta);
        }
    }
    pg_close($dbc);

    index();
    Response::$view = "index";
}

?>
